Non-uniform environments surfaces such as an automotive vehicle interior have non-ideal acoustic responses. These degradations in the audio system can be overcome by using analog or digital filter sections in a digital signal processor (DSP) to equalize or shape audio signal content prior to being sent to the speakers. In a vehicle that has equalization, front and rear channels are equalized with a different number of filter sections for a given signal. For example, the DSP in the radio can be programmed and adjusted to equalize a vehicle for a desired acoustical sound. A programmer can determine which equalization characteristics are needed in a desired output for a given environment of a vehicle. Such equalization characteristics are programmed into the nonvolatile memory such as the ROM of the DSP for filtering.
The digital filter structures within the DSP manipulate discrete samples of an input signal to produce a filter signal output. During the processing of a signal, it may become necessary to change the filtering of the signal. To minimize hardware/or software requirements, it may be desirable to use the same filter section or minimal filter sections with different digital filter coefficients. A programmer can write and execute code for the DSP utilizing more filter sections, but this is not practical since an end user is limited by the processor's bandwidth. The more filter structures the programmer uses the larger the memory will have to be to store the executable code. That is, a programmer would have to allocate additional memory every time the same or a different equalization structure is utilized.
To alleviate this issue, some DSP's have hardware registers for looping sections of code that can be changed even after the DSP has been masked into a ROM, although not all DSP's have this type of looping hardware.
What would be desirable to have is new and improved device and method for conditioning audio signals using a DSP overcoming the disadvantages described above. Such a device that uses volatile memory to initiate the executable code for a variable number of equalization filter sections would overcome such disadvantages.